টেবিল (Table) ম্যানিপুলেশন

Java Technologies - অ্যাপাচি পিওআই (পাওয়ারপয়েন্ট)
143
143

Apache POI ব্যবহার করে PowerPoint ফাইলের স্লাইডে টেবিল (table) যোগ করা এবং তা ম্যানিপুলেট করা সম্ভব। Apache POI এর XSLF API দিয়ে আপনি টেবিল তৈরি, কনফিগার এবং কাস্টমাইজ করতে পারবেন। এই টেবিলগুলো ব্যবহার করা যেতে পারে স্লাইডে ডেটা প্রদর্শন, রিপোর্ট তৈরি, অথবা বিভিন্ন আউটপুট ফলাফল প্রদর্শন করার জন্য।

এই গাইডে, আমরা দেখব কিভাবে Apache POI ব্যবহার করে PowerPoint স্লাইডে টেবিল ম্যানিপুলেশন করা যায়।


টেবিল ম্যানিপুলেশন: Apache POI দিয়ে PowerPoint ফাইল তৈরি

Apache POI এর মাধ্যমে PowerPoint স্লাইডে Table যোগ করার জন্য আমরা XSLFTable, XSLFTableRow, এবং XSLFTableCell ক্লাস ব্যবহার করতে পারি।

১. Maven Dependency

প্রথমে, আপনার প্রোজেক্টে Apache POI লাইব্রেরি যোগ করতে হবে। এজন্য Maven ব্যবহার করা যেতে পারে। আপনার pom.xml ফাইলে নিচের ডিপেনডেন্সি যোগ করুন:

<dependencies>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>5.2.3</version>  <!-- সর্বশেষ সংস্করণ ব্যবহার করুন -->
    </dependency>
</dependencies>

২. PowerPoint স্লাইডে টেবিল তৈরি করা

এখন আমরা একটি নতুন PowerPoint স্লাইড তৈরি করব এবং তাতে একটি টেবিল যুক্ত করব।

উদাহরণ: PowerPoint স্লাইডে টেবিল তৈরি করা

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTable;
import org.apache.poi.xslf.usermodel.XSLFTableRow;
import org.apache.poi.xslf.usermodel.XSLFTableCell;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;

public class TableExample {
    public static void main(String[] args) throws IOException {
        // একটি নতুন PowerPoint স্লাইড শো তৈরি করুন
        XMLSlideShow ppt = new XMLSlideShow();

        // একটি স্লাইড তৈরি করুন
        XSLFSlide slide = ppt.createSlide();

        // টেবিল তৈরি করা (৩টি সারি, ৩টি কলাম)
        XSLFTable table = slide.createTable();
        table.setAnchor(new java.awt.Rectangle(50, 50, 500, 300));  // টেবিলের অবস্থান এবং আকার

        // প্রথম সারি (হেডার)
        XSLFTableRow row1 = table.addRow();
        XSLFTableCell cell1 = row1.addCell();
        cell1.setText("Header 1");
        cell1.setFillColor(Color.LIGHT_GRAY);

        XSLFTableCell cell2 = row1.addCell();
        cell2.setText("Header 2");
        cell2.setFillColor(Color.LIGHT_GRAY);

        XSLFTableCell cell3 = row1.addCell();
        cell3.setText("Header 3");
        cell3.setFillColor(Color.LIGHT_GRAY);

        // দ্বিতীয় সারি
        XSLFTableRow row2 = table.addRow();
        XSLFTableCell cell4 = row2.addCell();
        cell4.setText("Data 1");

        XSLFTableCell cell5 = row2.addCell();
        cell5.setText("Data 2");

        XSLFTableCell cell6 = row2.addCell();
        cell6.setText("Data 3");

        // তৃতীয় সারি
        XSLFTableRow row3 = table.addRow();
        XSLFTableCell cell7 = row3.addCell();
        cell7.setText("Data 4");

        XSLFTableCell cell8 = row3.addCell();
        cell8.setText("Data 5");

        XSLFTableCell cell9 = row3.addCell();
        cell9.setText("Data 6");

        // PowerPoint ফাইল সেভ করা
        try (FileOutputStream out = new FileOutputStream("table_example.pptx")) {
            ppt.write(out);
        }

        System.out.println("PowerPoint টেবিল তৈরি হয়েছে!");
    }
}

এখানে, আমরা একটি PowerPoint স্লাইড তৈরি করেছি এবং তাতে ৩টি সারি এবং ৩টি কলামের একটি টেবিল যোগ করেছি। এছাড়াও, Header সেলে লাইট গ্রে ব্যাকগ্রাউন্ড রঙ ব্যবহার করা হয়েছে।


৩. টেবিল সেল কাস্টমাইজেশন

আপনি টেবিলের সেল কাস্টমাইজ করতে পারেন যেমন টেক্সট ফন্ট, সেল রঙ, সেল সীমানা ইত্যাদি।

উদাহরণ: টেবিল সেলের ফন্ট এবং রঙ কাস্টমাইজ করা

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTable;
import org.apache.poi.xslf.usermodel.XSLFTableRow;
import org.apache.poi.xslf.usermodel.XSLFTableCell;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;

public class TableCellCustomizationExample {
    public static void main(String[] args) throws IOException {
        // একটি নতুন PowerPoint স্লাইড শো তৈরি করুন
        XMLSlideShow ppt = new XMLSlideShow();

        // একটি স্লাইড তৈরি করুন
        XSLFSlide slide = ppt.createSlide();

        // টেবিল তৈরি করা
        XSLFTable table = slide.createTable();
        table.setAnchor(new java.awt.Rectangle(50, 50, 500, 300));

        // প্রথম সারি (হেডার)
        XSLFTableRow row1 = table.addRow();
        XSLFTableCell cell1 = row1.addCell();
        cell1.setText("Header 1");
        cell1.setFillColor(Color.LIGHT_GRAY);
        cell1.setFontColor(Color.RED); // সেল ফন্ট রঙ

        XSLFTableCell cell2 = row1.addCell();
        cell2.setText("Header 2");
        cell2.setFillColor(Color.LIGHT_GRAY);
        cell2.setFontColor(Color.GREEN); // সেল ফন্ট রঙ

        XSLFTableCell cell3 = row1.addCell();
        cell3.setText("Header 3");
        cell3.setFillColor(Color.LIGHT_GRAY);
        cell3.setFontColor(Color.BLUE); // সেল ফন্ট রঙ

        // দ্বিতীয় সারি (ডেটা)
        XSLFTableRow row2 = table.addRow();
        XSLFTableCell cell4 = row2.addCell();
        cell4.setText("Data 1");

        XSLFTableCell cell5 = row2.addCell();
        cell5.setText("Data 2");

        XSLFTableCell cell6 = row2.addCell();
        cell6.setText("Data 3");

        // PowerPoint ফাইল সেভ করা
        try (FileOutputStream out = new FileOutputStream("table_customization_example.pptx")) {
            ppt.write(out);
        }

        System.out.println("Customized Table Slide তৈরি হয়েছে!");
    }
}

এখানে, আমরা Font Color সেট করেছি প্রতিটি সেলে, যেমন হেডার সেলগুলোতে আলাদা ফন্ট রঙ দেওয়া হয়েছে।


৪. টেবিলের আকার এবং পজিশন ম্যানিপুলেশন

টেবিলের আকার এবং পজিশন নির্ধারণ করার জন্য আপনি setAnchor() ব্যবহার করতে পারেন।

উদাহরণ: টেবিলের আকার এবং পজিশন পরিবর্তন করা

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTable;
import org.apache.poi.xslf.usermodel.XSLFTableRow;
import org.apache.poi.xslf.usermodel.XSLFTableCell;
import java.awt.Rectangle;
import java.io.FileOutputStream;
import java.io.IOException;

public class TablePositionSizeExample {
    public static void main(String[] args) throws IOException {
        // একটি নতুন PowerPoint স্লাইড শো তৈরি করুন
        XMLSlideShow ppt = new XMLSlideShow();

        // একটি স্লাইড তৈরি করুন
        XSLFSlide slide = ppt.createSlide();

        // টেবিল তৈরি করা
        XSLFTable table = slide.createTable();
        table.setAnchor(new Rectangle(100, 100, 400, 200)); // টেবিলের পজিশন এবং আকার

        // প্রথম সারি (হেডার)
        XSLFTableRow row1 = table.addRow();
        XSLFTableCell cell1 = row1.addCell();
        cell1.setText("Header 1");

        XSLFTableCell cell2 = row1.addCell();
        cell2.setText("Header 2");

        XSLFTableCell cell3 = row1.addCell();
        cell3.setText("Header 3");

        // দ্বিতীয় সারি (ডেটা)
        XSLFTableRow row2 = table.addRow();
        XSLFTableCell cell4 = row2.addCell();
        cell4.setText("Data 1");

        XSLFTableCell cell5 = row2.addCell();
        cell5.setText("Data 2");

        XSLFTableCell cell6 = row2.addCell();
        cell6.setText("Data 3");

        // PowerPoint ফাইল সেভ করা
        try (FileOutputStream out = new FileOutputStream("table_position_size_example.pptx")) {
            ppt.write(out);
        }

        System.out.println("Table Position and Size Slide তৈরি হয়েছে!");
    }
}

এখানে, আমরা setAnchor() মেথড ব্যবহার করে টেবিলের পজিশন এবং আকার নিয়ন্ত্রণ করেছি।


সারাংশ

Apache POI এর মাধ্যমে আপনি PowerPoint স্লাইডে টেবিল তৈরি এবং ম্যানিপুলেট করতে পারেন। XSLFTable, XSLFTableRow, এবং XSLFTableCell ক্লাসের মাধ্যমে আপনি টেবিলের শেপ, সেল কনটেন্ট, ফন্ট, রঙ, আকার এবং পজিশন পরিবর্তন করতে পারবেন। টেবিল ম্যানিপুলেশন সম্ভবত Data Presentation বা Reporting ফিচারের জন্য ব্যবহৃত হতে পারে, যেমন ব্যবসায়িক প্রেজেন্টেশন বা শিক্ষামূলক উপস্থাপনা।

এই প্রক্রিয়া Apache POI ব্যবহার করে PowerPoint ফাইলের কাস্টমাইজেশনকে সহজ এবং কার্যকর করে তোলে।

common.content_added_by

টেবিল তৈরি এবং সেল যোগ করা

135
135

Apache POI ব্যবহার করে আপনি PowerPoint ফাইলে টেবিল তৈরি এবং সেল যোগ করতে পারেন। Apache POI-তে XSLF API ব্যবহার করে আপনি টেবিল তৈরি করতে পারবেন এবং প্রতিটি সেলে ডেটা যোগ করতে পারবেন। নিচে PowerPoint ফাইলে একটি টেবিল তৈরি করার এবং সেল যোগ করার একটি উদাহরণ দেওয়া হলো।


PowerPoint ফাইলে টেবিল তৈরি এবং সেল যোগ করার উদাহরণ

১. টেবিল তৈরি এবং সেল যোগ করার কোড:

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTable;
import org.apache.poi.xslf.usermodel.XSLFTableCell;

import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;

public class AddTableExample {
    public static void main(String[] args) throws IOException {
        // একটি নতুন PowerPoint ফাইল তৈরি করা
        XMLSlideShow ppt = new XMLSlideShow();

        // একটি স্লাইড তৈরি করা
        XSLFSlide slide = ppt.createSlide();

        // টেবিল তৈরি করা (3x3 টেবিল)
        XSLFTable table = slide.createTable();
        table.setAnchor(new java.awt.Rectangle(100, 100, 400, 300)); // টেবিলের অবস্থান এবং আকার

        // 3টি সারি এবং 3টি কলাম তৈরি করা
        for (int row = 0; row < 3; row++) {
            for (int col = 0; col < 3; col++) {
                XSLFTableCell cell = table.getCell(row, col);
                cell.setText("Cell " + (row + 1) + "," + (col + 1));  // সেলে টেক্সট যোগ করা

                // সেলের সীমানা কাস্টমাইজ করা
                cell.setBorderColor(Color.BLACK);
                cell.setFillColor(Color.LIGHT_GRAY);
            }
        }

        // PowerPoint ফাইল সেভ করা
        try (FileOutputStream out = new FileOutputStream("addTableExample.pptx")) {
            ppt.write(out);
        }

        System.out.println("PowerPoint file with table created successfully!");
    }
}

কোডের ব্যাখ্যা:

  1. XMLSlideShow ppt = new XMLSlideShow();
    • এটি একটি নতুন PowerPoint ফাইল তৈরি করে।
  2. XSLFSlide slide = ppt.createSlide();
    • এটি একটি নতুন স্লাইড তৈরি করে।
  3. XSLFTable table = slide.createTable();
    • এটি একটি টেবিল তৈরি করে। আপনি createTable() মেথডের মাধ্যমে স্লাইডে টেবিল তৈরি করতে পারেন।
  4. table.setAnchor(new java.awt.Rectangle(100, 100, 400, 300));
    • এটি টেবিলের অবস্থান এবং আকার নির্ধারণ করে। new java.awt.Rectangle(100, 100, 400, 300) এর মানে হল যে টেবিলটি (100, 100) পজিশনে শুরু হবে এবং এর আকার হবে 400x300 পিক্সেল।
  5. XSLFTableCell cell = table.getCell(row, col);
    • এখানে আপনি প্রতিটি সেলের জন্য getCell(row, col) মেথড ব্যবহার করে সেল এক্সেস করছেন। এই কোডে 3x3 টেবিল তৈরি করা হয়েছে।
  6. cell.setText("Cell " + (row + 1) + "," + (col + 1));
    • এই লাইনটি সেলে টেক্সট যোগ করার জন্য ব্যবহৃত হচ্ছে। সেলে প্রতিটি অবস্থানের (row, col) ভিত্তিতে টেক্সট সেট করা হচ্ছে।
  7. cell.setBorderColor(Color.BLACK); এবং cell.setFillColor(Color.LIGHT_GRAY);
    • সেলের সীমানা এবং ব্যাকগ্রাউন্ড রঙ পরিবর্তন করা হচ্ছে।
  8. ppt.write(out);
    • এটি PowerPoint ফাইলটি সেভ করে।

কোডের মাধ্যমে আরও কাস্টমাইজেশন

  1. রঙ এবং ফন্ট কাস্টমাইজ করা: আপনি সেলগুলির ফন্ট এবং রঙ কাস্টমাইজ করতে পারেন।

    XSLFTextRun textRun = cell.getTextParagraphs().get(0).getTextRuns().get(0);
    textRun.setFontColor(Color.BLUE);  // ফন্টের রঙ পরিবর্তন
    textRun.setFontSize(12.0);  // ফন্ট সাইজ সেট করা
    
  2. রেখা (Border) কাস্টমাইজেশন: সেলের সীমানা (বর্ডার) কাস্টমাইজ করার জন্য:

    cell.setBorderColor(Color.RED);  // সীমানার রঙ পরিবর্তন
    
  3. কাস্টম সেল সাইজ: সেলগুলির আকার কাস্টমাইজ করতে:

    cell.setRowHeight(30.0);  // সেলের উচ্চতা পরিবর্তন
    cell.setColumnWidth(150.0);  // সেলের প্রস্থ পরিবর্তন
    

PowerPoint ফাইলে টেবিলের অন্য শেপ ব্যবহার

Apache POI-তে বিভিন্ন শেপ যেমন আয়তক্ষেত্র (Rectangle), ডিম্বাকৃতি (Oval), এবং রেখা (Line) যুক্ত করার মতো টেবিলের সেলেও শেপ যোগ করা যেতে পারে। এইভাবে আপনি আপনার PowerPoint টেবিলের মধ্যে গ্রাফিক্স, চিত্র বা অন্যান্য উপাদান যুক্ত করতে পারবেন।


সারাংশ

Apache POI ব্যবহার করে আপনি PowerPoint ফাইলে টেবিল তৈরি এবং সেল যোগ করতে পারেন। উপরের উদাহরণে একটি 3x3 টেবিল তৈরি করা হয়েছে, এবং প্রতিটি সেলে টেক্সট, সীমানা এবং ব্যাকগ্রাউন্ড রঙ কাস্টমাইজ করা হয়েছে। টেবিলের সেলগুলিতে ফন্ট, সীমানা, আকার, এবং রঙ কাস্টমাইজেশন সহজেই করা সম্ভব, যা PowerPoint প্রেজেন্টেশনের গ্রাফিক্যাল উপাদানগুলির কার্যকারিতা এবং দৃশ্যমানতা উন্নত করতে সহায়ক।

common.content_added_by

Row এবং Column এর সংখ্যা বৃদ্ধি/হ্রাস করা

177
177

অ্যাপাচি পিওআই (Apache POI) একটি Java লাইব্রেরি যা Microsoft Office ফাইল ম্যানিপুলেশন (যেমন PowerPoint, Excel, Word) সহজ করে। Apache POI ব্যবহার করে আপনি PowerPoint ফাইল তৈরি এবং সম্পাদনা করতে পারবেন। এর মধ্যে table তৈরি করা অন্যতম একটি গুরুত্বপূর্ণ ফিচার, যেখানে row (সারি) এবং column (স্তম্ভ) যোগ বা কমানোর ক্ষমতা রয়েছে।

PowerPoint স্লাইডে টেবিল (Table) তৈরি করার জন্য Apache POI XSLFTable এবং তার মধ্যে XSLFTableRowXSLFTableCell ব্যবহার করে থাকে। টেবিলের row এবং column এর সংখ্যা বৃদ্ধি বা হ্রাস করার জন্য আপনাকে এই কনটেইনারগুলো পরিচালনা করতে হবে।

এখানে PowerPoint স্লাইডে টেবিল তৈরি এবং এর rowcolumn সংখ্যা বাড়ানো বা কমানোর উদাহরণ দেওয়া হবে।


PowerPoint স্লাইডে টেবিলের Row এবং Column সংখ্যা বৃদ্ধি/হ্রাস করা

ধাপ ১: Apache POI লাইব্রেরি যোগ করা

আপনার pom.xml ফাইলে নিচের ডিপেনডেন্সি যোগ করুন।

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.3</version> <!-- সর্বশেষ সংস্করণ -->
</dependency>

ধাপ ২: PowerPoint স্লাইডে টেবিল তৈরি করা এবং Row/Column বৃদ্ধি বা হ্রাস করা

এখানে একটি উদাহরণ দেওয়া হলো, যেখানে একটি টেবিল তৈরি করা হচ্ছে এবং তার row এবং column সংখ্যা কিভাবে বাড়ানো বা কমানো যায় তা দেখানো হয়েছে।

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTable;
import org.apache.poi.xslf.usermodel.XSLFTableRow;
import org.apache.poi.xslf.usermodel.XSLFTableCell;
import java.awt.Rectangle;
import java.io.FileOutputStream;
import java.io.IOException;

public class PowerPointTableExample {
    public static void main(String[] args) throws IOException {
        // নতুন PowerPoint ফাইল তৈরি
        XMLSlideShow ppt = new XMLSlideShow();

        // একটি স্লাইড তৈরি
        XSLFSlide slide = ppt.createSlide();

        // একটি টেবিল তৈরি (3 rows এবং 4 columns)
        XSLFTable table = slide.createTable();
        table.setAnchor(new Rectangle(50, 50, 500, 300));  // টেবিলের অবস্থান ও আকার

        // প্রথম row তৈরি (4 columns)
        XSLFTableRow row1 = table.addRow();
        for (int i = 0; i < 4; i++) {
            XSLFTableCell cell = row1.addCell();
            cell.setText("Row 1, Col " + (i + 1));
        }

        // দ্বিতীয় row তৈরি (4 columns)
        XSLFTableRow row2 = table.addRow();
        for (int i = 0; i < 4; i++) {
            XSLFTableCell cell = row2.addCell();
            cell.setText("Row 2, Col " + (i + 1));
        }

        // তৃতীয় row তৈরি (4 columns)
        XSLFTableRow row3 = table.addRow();
        for (int i = 0; i < 4; i++) {
            XSLFTableCell cell = row3.addCell();
            cell.setText("Row 3, Col " + (i + 1));
        }

        // টেবিলের row সংখ্যা বৃদ্ধি
        XSLFTableRow newRow = table.addRow();  // নতুন row যোগ করা হচ্ছে
        for (int i = 0; i < 4; i++) {
            XSLFTableCell cell = newRow.addCell();
            cell.setText("New Row, Col " + (i + 1));
        }

        // টেবিলের column সংখ্যা কমানো (এটা একটু ট্রিকি, কারণ POI-তে Row-র মাধ্যমে কলাম কমানো সরাসরি সম্ভব নয়)
        // তবে, আপনি একটি নির্দিষ্ট row থেকে কলাম বাদ দিতে পারেন অথবা নতুন row দিয়ে কলাম সংখ্যা পুনরায় কমাতে পারেন।

        // PowerPoint ফাইল সংরক্ষণ
        try (FileOutputStream out = new FileOutputStream("example_with_table.pptx")) {
            ppt.write(out);
        }

        System.out.println("PowerPoint ফাইল তৈরি করা হয়েছে এবং টেবিলের row এবং column সংখ্যা বৃদ্ধি করা হয়েছে।");
    }
}

কোড ব্যাখ্যা:

  1. XMLSlideShow ppt = new XMLSlideShow();
    • এটি একটি নতুন PowerPoint ফাইল তৈরি করে।
  2. XSLFSlide slide = ppt.createSlide();
    • একটি নতুন স্লাইড তৈরি করা হচ্ছে।
  3. XSLFTable table = slide.createTable();
    • PowerPoint স্লাইডে একটি নতুন টেবিল তৈরি করা হচ্ছে।
  4. table.setAnchor(new Rectangle(50, 50, 500, 300));
    • টেবিলের অবস্থান এবং আকার নির্ধারণ করা হচ্ছে (x=50, y=50) পজিশনে এবং আকার 500x300 পিক্সেল।
  5. XSLFTableRow row1 = table.addRow();
    • টেবিলে প্রথম row যোগ করা হচ্ছে, এবং তারপর 4টি কলাম যোগ করা হচ্ছে (প্রথম সারি, প্রথম কলাম থেকে চতুর্থ কলাম পর্যন্ত)।
  6. table.addRow();
    • newRow নামে একটি নতুন row যোগ করা হচ্ছে, যা টেবিলের শেষে নতুন সারি তৈরি করবে।
  7. ppt.write(out);
    • এটি PowerPoint ফাইলটি example_with_table.pptx নামে সংরক্ষণ করবে।

টেবিলের Row এবং Column সংখ্যা কমানো

Apache POI এ column সরাসরি কমানোর কোনো মেথড নেই, তবে আপনি row সংখ্যা হ্রাস করতে পারেন। আপনি যদি চান যে কিছু columns হ্রাস পাক, তাহলে আপনাকে স্লাইডের row থেকে কিছু cell বাদ দিতে হবে অথবা নতুন একটি row তৈরি করে আগের row গুলো পুনরায় সাজাতে হবে।

একটি row-এর column কমাতে, আপনি সেই row এর নির্দিষ্ট cell গুলো পরিবর্তন করতে পারেন অথবা যেকোনো row সরিয়ে ফেলা বা পুনর্গঠন করতে পারেন।


সারাংশ

অ্যাপাচি পিওআই (Apache POI) ব্যবহার করে আপনি PowerPoint ফাইলের স্লাইডে টেবিল তৈরি করতে পারেন এবং সেই টেবিলের row এবং column সংখ্যা বৃদ্ধি বা হ্রাস করতে পারেন। XSLFTable ব্যবহার করে নতুন row এবং column যোগ করা সহজ, তবে column সংখ্যা সরাসরি কমানোর জন্য আপনাকে row পুনর্গঠন করতে হতে পারে। এই টুলটি PowerPoint ফাইল তৈরি, সম্পাদনা এবং কনটেন্ট ম্যানিপুলেশনকে সহজ এবং কার্যকরী করে তোলে।

common.content_added_by

টেবিলের ভিতরে ডেটা ইনসার্ট করা

142
142

Apache POI ব্যবহার করে PowerPoint স্লাইডে টেবিল তৈরি এবং তার ভিতরে ডেটা ইনসার্ট করা একটি সহজ কাজ। আপনি XSLF API ব্যবহার করে স্লাইডে টেবিল তৈরি করতে পারেন এবং টেবিলের প্রতিটি সেলে ডেটা যোগ করতে পারেন।

এই লেখায় আমরা দেখব কিভাবে Apache POI এর মাধ্যমে PowerPoint স্লাইডে টেবিল তৈরি এবং তার ভিতরে ডেটা ইনসার্ট করা যায়।


PowerPoint স্লাইডে টেবিল তৈরি করা

PowerPoint স্লাইডে টেবিল তৈরি করতে প্রথমে আপনাকে একটি XSLFTable অবজেক্ট তৈরি করতে হবে। তারপর, টেবিলের প্রতিটি সেলে ডেটা ইনসার্ট করতে হবে। নিচে একটি উদাহরণ দেওয়া হলো যেখানে একটি PowerPoint স্লাইডে একটি টেবিল তৈরি করা হয়েছে এবং তার ভিতরে ডেটা যোগ করা হয়েছে।

উদাহরণ: PowerPoint স্লাইডে টেবিল তৈরি এবং ডেটা ইনসার্ট করা

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTable;
import org.apache.poi.xslf.usermodel.XSLFTableCell;
import org.apache.poi.sl.usermodel.Table;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;

public class TableInsertDataExample {
    public static void main(String[] args) throws IOException {
        // একটি নতুন PowerPoint স্লাইডশো তৈরি
        XMLSlideShow ppt = new XMLSlideShow();

        // একটি স্লাইড তৈরি
        XSLFSlide slide = ppt.createSlide();

        // টেবিলের জন্য 3 সারি এবং 3 কলাম নির্ধারণ
        XSLFTable table = slide.createTable();
        table.setAnchor(new java.awt.Rectangle(50, 50, 400, 200)); // টেবিলের অবস্থান ও আকার

        // টেবিলের প্রথম সারির সেলসমূহে ডেটা ইনসার্ট করা
        XSLFTableCell cell00 = table.getCell(0, 0);
        cell00.setText("Header 1");
        cell00.setFillColor(Color.LIGHT_GRAY);

        XSLFTableCell cell01 = table.getCell(0, 1);
        cell01.setText("Header 2");
        cell01.setFillColor(Color.LIGHT_GRAY);

        XSLFTableCell cell02 = table.getCell(0, 2);
        cell02.setText("Header 3");
        cell02.setFillColor(Color.LIGHT_GRAY);

        // টেবিলের দ্বিতীয় সারির সেলসমূহে ডেটা ইনসার্ট করা
        XSLFTableCell cell10 = table.getCell(1, 0);
        cell10.setText("Row 1, Col 1");

        XSLFTableCell cell11 = table.getCell(1, 1);
        cell11.setText("Row 1, Col 2");

        XSLFTableCell cell12 = table.getCell(1, 2);
        cell12.setText("Row 1, Col 3");

        // টেবিলের তৃতীয় সারির সেলসমূহে ডেটা ইনসার্ট করা
        XSLFTableCell cell20 = table.getCell(2, 0);
        cell20.setText("Row 2, Col 1");

        XSLFTableCell cell21 = table.getCell(2, 1);
        cell21.setText("Row 2, Col 2");

        XSLFTableCell cell22 = table.getCell(2, 2);
        cell22.setText("Row 2, Col 3");

        // PowerPoint ফাইল সেভ করা
        try (FileOutputStream out = new FileOutputStream("table_in_powerpoint.pptx")) {
            ppt.write(out);
        }

        System.out.println("PowerPoint স্লাইডে টেবিল সফলভাবে ইনসার্ট করা হয়েছে!");
    }
}

উদাহরণের ব্যাখ্যা:

  1. XSLFTable table = slide.createTable();
    এই লাইনটি একটি টেবিল তৈরি করে।
  2. table.setAnchor(new java.awt.Rectangle(50, 50, 400, 200));
    টেবিলের অবস্থান এবং আকার নির্ধারণ করা হয়েছে। এই ক্ষেত্রে টেবিলটি স্লাইডের উপর 50, 50 পিক্সেল পজিশনে এবং আকার 400x200 পিক্সেল।
  3. cell00.setText("Header 1");
    প্রতিটি সেলে ডেটা ইনসার্ট করা হয়েছে। প্রথম সেলে "Header 1" টেক্সট, দ্বিতীয় সেলে "Header 2", এবং তৃতীয় সেলে "Header 3" টেক্সট ইনসার্ট করা হয়েছে।
  4. cell00.setFillColor(Color.LIGHT_GRAY);
    সেলের ব্যাকগ্রাউন্ড কালার সেট করা হয়েছে (এই উদাহরণে লাইট গ্রে রঙে)।

PowerPoint স্লাইডে টেবিলের ডেটা কাস্টমাইজেশন

Apache POI ব্যবহার করে আপনি টেবিলের সেলগুলো কাস্টমাইজ করতে পারেন, যেমন:

  • Font Style পরিবর্তন করা (Bold, Italic, Font Size)
  • Text Alignment পরিবর্তন করা (Center, Left, Right)
  • Cell Background Color পরিবর্তন করা
  • Borders কাস্টমাইজ করা

উদাহরণ: টেবিল সেলের Font Style এবং Alignment পরিবর্তন

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTable;
import org.apache.poi.xslf.usermodel.XSLFTableCell;
import org.apache.poi.sl.usermodel.TextParagraph;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;

public class TableCellCustomizationExample {
    public static void main(String[] args) throws IOException {
        // একটি নতুন PowerPoint স্লাইডশো তৈরি
        XMLSlideShow ppt = new XMLSlideShow();

        // একটি স্লাইড তৈরি
        XSLFSlide slide = ppt.createSlide();

        // টেবিলের জন্য 2 সারি এবং 3 কলাম নির্ধারণ
        XSLFTable table = slide.createTable();
        table.setAnchor(new java.awt.Rectangle(50, 50, 400, 150)); // টেবিলের অবস্থান ও আকার

        // প্রথম সারির সেলে Font Style এবং Alignment পরিবর্তন
        XSLFTableCell cell00 = table.getCell(0, 0);
        cell00.setText("Header 1");
        cell00.setFillColor(Color.LIGHT_GRAY);
        TextParagraph p0 = cell00.getTextParagraphs().get(0);
        p0.setAlignment(TextParagraph.Align.CENTER); // টেক্সট সেন্টারে করা

        // দ্বিতীয় সারির সেলে Font Style এবং Alignment পরিবর্তন
        XSLFTableCell cell10 = table.getCell(1, 0);
        cell10.setText("Data 1");
        TextParagraph p1 = cell10.getTextParagraphs().get(0);
        p1.setAlignment(TextParagraph.Align.LEFT); // টেক্সট বামদিকে করা

        // PowerPoint ফাইল সেভ করা
        try (FileOutputStream out = new FileOutputStream("customized_table.pptx")) {
            ppt.write(out);
        }

        System.out.println("PowerPoint স্লাইডে কাস্টমাইজড টেবিল ইনসার্ট করা হয়েছে!");
    }
}

উদাহরণের ব্যাখ্যা:

  1. p0.setAlignment(TextParagraph.Align.CENTER);
    প্রথম সেলের টেক্সটকে সেন্টারে অ্যালাইন করা হয়েছে।
  2. p1.setAlignment(TextParagraph.Align.LEFT);
    দ্বিতীয় সেলের টেক্সটকে বামদিকে অ্যালাইন করা হয়েছে।

সারাংশ

Apache POI ব্যবহার করে PowerPoint স্লাইডে টেবিল তৈরি এবং তার ভিতরে ডেটা ইনসার্ট করা একটি শক্তিশালী ফিচার। আপনি টেবিলের সেলগুলোতে বিভিন্ন ধরনের ডেটা, ফরম্যাটিং, এবং কাস্টম স্টাইল অ্যাপ্লাই করতে পারেন। এছাড়া, Font Style, Text Alignment, Cell Background Color এবং Borders কাস্টমাইজ করে আপনি একটি পেশাদার এবং আকর্ষণীয় টেবিল তৈরি করতে পারবেন যা আপনার প্রেজেন্টেশনে ব্যবহার করা যাবে।


common.content_added_by

Table ফরম্যাটিং (Border, Background, Text)

159
159

অ্যাপাচি পিওআই (Apache POI) ব্যবহার করে PowerPoint (PPTX) ফাইলের মধ্যে Table ফরম্যাটিং করা সম্ভব। টেবিলের মধ্যে আপনি বর্ডার, ব্যাকগ্রাউন্ড, এবং টেক্সট ফরম্যাটিং করতে পারবেন। এভাবে টেবিলের চেহারা এবং কনটেন্ট কাস্টমাইজ করা যায়, যাতে প্রেজেন্টেশনটি আরও আকর্ষণীয় এবং পেশাদার হয়।

এখানে Table Formatting এর জন্য Border, Background এবং Text Formatting এর উদাহরণ দেওয়া হলো।


PowerPoint Table ফরম্যাটিং

1. PowerPoint এ টেবিল তৈরি করা

PowerPoint ফাইলে টেবিল তৈরি করতে এবং ফরম্যাটিং করতে XSLFTable ব্যবহার করা হয়। এই টেবিলের মধ্যে আপনি সারি (rows) এবং কলাম (columns) যোগ করতে পারেন এবং প্রতিটি সেলে টেক্সট, ব্যাকগ্রাউন্ড এবং বর্ডার ফরম্যাট করতে পারেন।


Table তৈরি এবং ফরম্যাটিং করার জন্য কোড উদাহরণ:

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.*;
import java.awt.*;
import java.io.*;

public class TableFormattingExample {
    public static void main(String[] args) throws IOException {
        // একটি নতুন PowerPoint তৈরি করা
        XMLSlideShow ppt = new XMLSlideShow();

        // স্লাইড তৈরি করা
        XSLFSlide slide = ppt.createSlide();

        // টেবিল তৈরি করা (2 সারি এবং 3 কলাম)
        XSLFTable table = slide.createTable();
        table.setAnchor(new java.awt.Rectangle(50, 50, 500, 200));  // টেবিলের অবস্থান

        // প্রথম সারি তৈরি করা
        XSLFTableRow row1 = table.addRow();
        XSLFTableCell cell1 = row1.addCell();
        cell1.setText("Header 1");
        XSLFTableCell cell2 = row1.addCell();
        cell2.setText("Header 2");
        XSLFTableCell cell3 = row1.addCell();
        cell3.setText("Header 3");

        // দ্বিতীয় সারি তৈরি করা
        XSLFTableRow row2 = table.addRow();
        XSLFTableCell cell4 = row2.addCell();
        cell4.setText("Row 1, Col 1");
        XSLFTableCell cell5 = row2.addCell();
        cell5.setText("Row 1, Col 2");
        XSLFTableCell cell6 = row2.addCell();
        cell6.setText("Row 1, Col 3");

        // টেবিলের ফরম্যাটিং (বর্ডার, ব্যাকগ্রাউন্ড, টেক্সট)
        formatTable(table);

        // PowerPoint ফাইল সংরক্ষণ করা
        try (FileOutputStream out = new FileOutputStream("table_formatted.pptx")) {
            ppt.write(out);
        }

        System.out.println("PowerPoint ফাইল সফলভাবে তৈরি হয়েছে!");
    }

    // টেবিলের ফরম্যাটিং (বর্ডার, ব্যাকগ্রাউন্ড, টেক্সট)
    private static void formatTable(XSLFTable table) {
        // প্রতিটি সেলের জন্য ফরম্যাটিং করা
        for (XSLFTableRow row : table) {
            for (XSLFTableCell cell : row) {
                // সেলের টেক্সট ফরম্যাটিং
                XSLFTextParagraph paragraph = cell.getTextParagraphs().get(0);
                XSLFTextRun run = paragraph.getTextRuns().get(0);
                run.setFontSize(14.0);
                run.setFontFamily("Arial");
                run.setBold(true);

                // সেলের ব্যাকগ্রাউন্ড ফরম্যাটিং
                cell.setFillColor(new Color(210, 210, 255));  // হালকা নীল ব্যাকগ্রাউন্ড

                // সেলের বর্ডার ফরম্যাটিং
                cell.setBorderColor(BorderEdge.BOTTOM, new Color(0, 0, 0));  // কালো বর্ডার
                cell.setBorderWidth(BorderEdge.BOTTOM, 1.0);  // বর্ডারের প্রস্থ

                // বাকি বর্ডারগুলির ফরম্যাটিং
                cell.setBorderColor(BorderEdge.TOP, new Color(0, 0, 0));
                cell.setBorderWidth(BorderEdge.TOP, 1.0);
                cell.setBorderColor(BorderEdge.LEFT, new Color(0, 0, 0));
                cell.setBorderWidth(BorderEdge.LEFT, 1.0);
                cell.setBorderColor(BorderEdge.RIGHT, new Color(0, 0, 0));
                cell.setBorderWidth(BorderEdge.RIGHT, 1.0);
            }
        }
    }
}

কোড ব্যাখ্যা:

  1. টেবিল তৈরি:
    • slide.createTable(); দিয়ে একটি নতুন টেবিল তৈরি করা হয়েছে।
    • table.setAnchor(new java.awt.Rectangle(50, 50, 500, 200)); দিয়ে টেবিলের অবস্থান এবং আকার সেট করা হয়েছে।
  2. সারি এবং কলাম তৈরি:
    • প্রথম সারি তৈরি করতে table.addRow(); এবং কলাম তৈরি করতে row.addCell(); ব্যবহার করা হয়েছে।
    • cell.setText("Header 1"); দিয়ে প্রতিটি সেলে টেক্সট যোগ করা হয়েছে।
  3. ফরম্যাটিং (বর্ডার, ব্যাকগ্রাউন্ড, টেক্সট):
    • টেক্সট ফরম্যাটিং: XSLFTextRun ব্যবহার করে টেক্সটের ফন্ট সাইজ, ফন্ট ফ্যামিলি এবং বোল্ড করা হয়েছে।
    • ব্যাকগ্রাউন্ড: cell.setFillColor(new Color(210, 210, 255)); দিয়ে সেলের ব্যাকগ্রাউন্ড রঙ হালকা নীল করা হয়েছে।
    • বর্ডার: cell.setBorderColor() এবং cell.setBorderWidth() দিয়ে সেলের চারপাশে কালো বর্ডার এবং প্রস্থ সেট করা হয়েছে।

Table Formatting - Border, Background, and Text Explained:

বর্ডার (Border):

  • setBorderColor: প্রতিটি সেলের চারপাশে বর্ডারের রঙ নির্ধারণ করতে ব্যবহৃত হয়।
  • setBorderWidth: বর্ডারের প্রস্থ নির্ধারণ করতে ব্যবহৃত হয়। সাধারণত 1.0 পিক্সেল অথবা এর চেয়ে বড় মান হতে পারে।

ব্যাকগ্রাউন্ড (Background):

  • setFillColor: সেলের ব্যাকগ্রাউন্ড রঙ নির্ধারণ করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, new Color(210, 210, 255) হালকা নীল রঙ।

টেক্সট (Text):

  • XSLFTextRun: টেক্সটের ফন্ট সাইজ, ফন্ট ফ্যামিলি, এবং স্টাইল (যেমন, বোল্ড, ইটালিক) কাস্টমাইজ করতে ব্যবহৃত হয়।
  • setFontSize, setFontFamily, setBold: এগুলি টেক্সটের স্টাইল পরিবর্তন করতে ব্যবহৃত হয়।

সারাংশ

Apache POI ব্যবহার করে PowerPoint ফাইলে টেবিল তৈরি এবং ফরম্যাটিং করা অনেক সহজ। টেবিলের সেলগুলোতে বর্ডার, ব্যাকগ্রাউন্ড রঙ এবং টেক্সট ফরম্যাটিং কাস্টমাইজ করতে পারবেন। এই প্রক্রিয়া আপনাকে পেশাদার প্রেজেন্টেশন তৈরি করতে সাহায্য করে। XSLFTable, XSLFTableRow, এবং XSLFTableCell ক্লাসের মাধ্যমে আপনি সহজেই টেবিলের সেলগুলোকে সাজাতে এবং ফরম্যাট করতে পারবেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion